package org.wdcode.web.memcache.need;

/**
 * MemCached使用必须的条件获得接口
 * @author WD
 * @since JDK6
 * @version 1.0 2010-08-29
 */
public interface MemCacheNeed {
	/**
	 * 获得服务器地址
	 * @return 服务器地址
	 */
	String[] getServers();

	/**
	 * 设置服务器地址
	 * @param servers 服务器地址
	 */
	void setServers(String... servers);

	/**
	 * 获得权重列表
	 * @return 权重列表
	 */
	Integer[] getWeights();

	/**
	 * 设置权重列表
	 * @param weights 权重列表
	 */
	void setWeights(Integer... weights);

	/**
	 * 获得初始化连接
	 * @return 初始化连接
	 */
	int getInitConn();

	/**
	 * 设置初始化连接
	 * @param initConn 初始化连接
	 */
	void setInitConn(int initConn);

	/**
	 * 获得最小连接
	 * @return 最小连接
	 */
	int getMinConn();

	/**
	 * 设置最小连接
	 * @param minConn 最小连接
	 */
	void setMinConn(int minConn);

	/**
	 * 获得最大连接
	 * @return 最大连接
	 */
	int getMaxConn();

	/**
	 * 设置最大连接
	 * @param maxConn 最大连接
	 */
	void setMaxConn(int maxConn);

	/**
	 * 获得空闲时间
	 * @return 空闲时间
	 */
	long getMaxIdle();

	/**
	 * 设置空闲时间
	 * @param maxIdle 空闲时间
	 */
	void setMaxIdle(long maxIdle);

	/**
	 * 获得睡眠时间
	 * @return 睡眠时间
	 */
	long getMaintSleep();

	/**
	 * 设置睡眠时间
	 * @param maintSleep 睡眠时间
	 */
	void setMaintSleep(long maintSleep);

	/**
	 * 获得超时读取
	 * @return 超时读取
	 */
	int getSocketTO();

	/**
	 * 设置超时读取
	 * @param socketTO 超时读取
	 */
	void setSocketTO(int socketTO);

	/**
	 * 获得连接超时
	 * @return 连接超时
	 */
	int getSocketConnectTO();

	/**
	 * 设置连接超时
	 * @param socketConnectTO 连接超时
	 */
	void setSocketConnectTO(int socketConnectTO);
}
